{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1105,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>casual</th>\n",
       "      <th>registered</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>331</td>\n",
       "      <td>654</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>131</td>\n",
       "      <td>670</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>120</td>\n",
       "      <td>1229</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>108</td>\n",
       "      <td>1454</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>82</td>\n",
       "      <td>1518</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed  casual  registered  \\\n",
       "0           2  0.344167  0.363625  0.805833   0.160446     331         654   \n",
       "1           2  0.363478  0.353739  0.696087   0.248539     131         670   \n",
       "2           1  0.196364  0.189405  0.437273   0.248309     120        1229   \n",
       "3           1  0.200000  0.212122  0.590435   0.160296     108        1454   \n",
       "4           1  0.226957  0.229270  0.436957   0.186900      82        1518   \n",
       "\n",
       "    cnt  \n",
       "0   985  \n",
       "1   801  \n",
       "2  1349  \n",
       "3  1562  \n",
       "4  1600  "
      ]
     },
     "execution_count": 1105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np # linear algebra\n",
    "import pandas as pd # data processing, CSV file I/O\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "from sklearn.metrics import r2_score  #评价回归预测模型的性能\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "data = pd.read_csv(\"day.csv\") #读取数据\n",
    "\n",
    "data.head() #原始数据概览"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1106,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\"day.csv\") #读取数据\n",
    "data=data.drop(\"instant\",axis=1)    #删掉记录号\n",
    "data=data.drop(\"dteday\",axis=1)     #删掉日期\n",
    "\n",
    "data=data.drop(\"casual\",axis=1)     #删掉不进行预测的y\n",
    "data=data.drop(\"registered\",axis=1) #删掉不进行预测的y\n",
    "\n",
    "## 训练集划分（2011年的数据）\n",
    "data_train=data[data.yr==0]\n",
    "data_train=data_train.drop(\"yr\",axis=1)    #删掉特征：年份\n",
    "y_train = data_train['cnt'].values\n",
    "X_train = data_train.drop('cnt', axis = 1)\n",
    "\n",
    "## 测试集划分（2012年的数据）\n",
    "data_test=data[data.yr==1]\n",
    "data_test=data_test.drop(\"yr\",axis=1)    #删掉特征：年份\n",
    "y_test = data_test['cnt'].values\n",
    "X_test = data_test.drop('cnt', axis = 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1107,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 12 columns):\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(8)\n",
      "memory usage: 68.6 KB\n"
     ]
    }
   ],
   "source": [
    "data.info() #训练数据基本信息，可以看到数据没有缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1108,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "      <td>731.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>2.496580</td>\n",
       "      <td>0.500684</td>\n",
       "      <td>6.519836</td>\n",
       "      <td>0.028728</td>\n",
       "      <td>2.997264</td>\n",
       "      <td>0.683995</td>\n",
       "      <td>1.395349</td>\n",
       "      <td>0.495385</td>\n",
       "      <td>0.474354</td>\n",
       "      <td>0.627894</td>\n",
       "      <td>0.190486</td>\n",
       "      <td>4504.348837</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>1.110807</td>\n",
       "      <td>0.500342</td>\n",
       "      <td>3.451913</td>\n",
       "      <td>0.167155</td>\n",
       "      <td>2.004787</td>\n",
       "      <td>0.465233</td>\n",
       "      <td>0.544894</td>\n",
       "      <td>0.183051</td>\n",
       "      <td>0.162961</td>\n",
       "      <td>0.142429</td>\n",
       "      <td>0.077498</td>\n",
       "      <td>1937.211452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.059130</td>\n",
       "      <td>0.079070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022392</td>\n",
       "      <td>22.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.337083</td>\n",
       "      <td>0.337842</td>\n",
       "      <td>0.520000</td>\n",
       "      <td>0.134950</td>\n",
       "      <td>3152.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.498333</td>\n",
       "      <td>0.486733</td>\n",
       "      <td>0.626667</td>\n",
       "      <td>0.180975</td>\n",
       "      <td>4548.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.655417</td>\n",
       "      <td>0.608602</td>\n",
       "      <td>0.730209</td>\n",
       "      <td>0.233214</td>\n",
       "      <td>5956.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.861667</td>\n",
       "      <td>0.840896</td>\n",
       "      <td>0.972500</td>\n",
       "      <td>0.507463</td>\n",
       "      <td>8714.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           season          yr        mnth     holiday     weekday  workingday  \\\n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000  731.000000   \n",
       "mean     2.496580    0.500684    6.519836    0.028728    2.997264    0.683995   \n",
       "std      1.110807    0.500342    3.451913    0.167155    2.004787    0.465233   \n",
       "min      1.000000    0.000000    1.000000    0.000000    0.000000    0.000000   \n",
       "25%      2.000000    0.000000    4.000000    0.000000    1.000000    0.000000   \n",
       "50%      3.000000    1.000000    7.000000    0.000000    3.000000    1.000000   \n",
       "75%      3.000000    1.000000   10.000000    0.000000    5.000000    1.000000   \n",
       "max      4.000000    1.000000   12.000000    1.000000    6.000000    1.000000   \n",
       "\n",
       "       weathersit        temp       atemp         hum   windspeed          cnt  \n",
       "count  731.000000  731.000000  731.000000  731.000000  731.000000   731.000000  \n",
       "mean     1.395349    0.495385    0.474354    0.627894    0.190486  4504.348837  \n",
       "std      0.544894    0.183051    0.162961    0.142429    0.077498  1937.211452  \n",
       "min      1.000000    0.059130    0.079070    0.000000    0.022392    22.000000  \n",
       "25%      1.000000    0.337083    0.337842    0.520000    0.134950  3152.000000  \n",
       "50%      1.000000    0.498333    0.486733    0.626667    0.180975  4548.000000  \n",
       "75%      2.000000    0.655417    0.608602    0.730209    0.233214  5956.000000  \n",
       "max      3.000000    0.861667    0.840896    0.972500    0.507463  8714.000000  "
      ]
     },
     "execution_count": 1108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.describe() #训练集上各属性的统计特性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1109,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
      "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 目标y（每天的单车共享次数）的直方图／分布\n",
    "fig = plt.figure()\n",
    "sns.distplot(data_train.cnt.values, bins=30, kde=True)\n",
    "plt.xlabel('Average number of bicycle sharing per day', fontsize=12)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 单个特征散点图\n",
    "plt.scatter(range(data_train.shape[0]), data_train[\"cnt\"].values,color='purple')\n",
    "plt.title(\"Distribution of average number of bicycle sharing per day\");"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1111,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x34bfa7f0>"
      ]
     },
     "execution_count": 1111,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(data=data,y=\"cnt\",orient='v')  #绘制数据分布箱型图，检查是否有离群点\n",
    "#sns.boxplot(data=data_train,y=\"cnt\",orient='v')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1112,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x349fdc88>"
      ]
     },
     "execution_count": 1112,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(data=data,x=\"season\",y=\"cnt\",orient='v') #绘制季节与共享量之间的箱型图，可以看到春天与冬天有异常点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x34d56b70>"
      ]
     },
     "execution_count": 1113,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(data=data_train,x=\"season\",y=\"cnt\",orient='v')#绘制训练集上季节与共享量之间的箱型图，可以看到春天秋天与冬天有异常点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1114,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x320557f0>"
      ]
     },
     "execution_count": 1114,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(data=data,x=\"workingday\",y=\"cnt\",orient='v') \n",
    "#sns.boxplot(data=data_train,x=\"workingday\",y=\"cnt\",orient='v')  #绘制工作日与共享量之间的箱型图，无异常点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x356efac8>"
      ]
     },
     "execution_count": 1115,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(data=data_train,x=\"holiday\",y=\"cnt\",orient='v')  #绘制假期与共享量之间的箱型图，无异常点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1116,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x35a35668>"
      ]
     },
     "execution_count": 1116,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(data=data,x=\"weathersit\",y=\"cnt\",orient='v')\n",
    "#sns.boxplot(data=data_train,x=\"weathersit\",y=\"cnt\",orient='v')  #绘制天气与共享量之间的箱型图（数据中无天气4的情况），无异常点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(11, 11)"
      ]
     },
     "execution_count": 1117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 训练数据的相关性热图\n",
    "cols=data_train.columns \n",
    "data_corr = data_train.corr().abs() #计算两两之间相关系数\n",
    "data_corr.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 936x648 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplots(figsize=(13, 9))\n",
    "sns.heatmap(data_corr,annot=True)\n",
    "\n",
    "# Mask unimportant features\n",
    "sns.heatmap(data_corr, mask=data_corr < 1, cbar=False)\n",
    "\n",
    "#plt.savefig('sharing_coor.png' )\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由于日期和星期几和骑不骑小黄车其实没有本质关系，有关系的是今天是否是假期或者工作日，所以日期和星期都可以删掉；\n",
    "\n",
    "且从热图可以看到温度与体感温度、季节与月份、天气与湿度之间有强的相关性；\n",
    "\n",
    "经训练尝试：保留体感温度，删掉温度；保留季节，删掉月份有最好的预测性能"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1204,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np \n",
    "import pandas as pd \n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "from sklearn.metrics import r2_score  #评价回归预测模型的性能\n",
    "from sklearn.preprocessing import OneHotEncoder\n",
    "\n",
    "%matplotlib inline\n",
    "\n",
    "data = pd.read_csv(\"day.csv\") #读取数据\n",
    "data=data.drop(\"instant\",axis=1)    #删掉记录号\n",
    "data=data.drop(\"dteday\",axis=1)     #删掉日期\n",
    "\n",
    "data=data.drop(\"mnth\",axis=1)       #删掉月份\n",
    "data=data.drop(\"temp\",axis=1)       #删掉温度\n",
    "data=data.drop(\"weekday\",axis=1)    #删掉星期\n",
    "\n",
    "data=data.drop(\"casual\",axis=1)     #删掉不进行预测的y\n",
    "data=data.drop(\"registered\",axis=1) #删掉不进行预测的y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1205,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 对发现有异常点的季节共享数量用均值进行替换\n",
    "spring=data[data['season']==1]\n",
    "autumn=data[data['season']==3]\n",
    "winter=data[data['season']==4]\n",
    "\n",
    "m1=spring['cnt'].mean()\n",
    "s1=spring['cnt'].std()\n",
    "\n",
    "m3=autumn['cnt'].mean()\n",
    "s3=autumn['cnt'].std()\n",
    "\n",
    "m4=winter['cnt'].mean()\n",
    "s4=winter['cnt'].std()\n",
    "\n",
    "#经尝试，最大取2.4时可以消除季节共享量的异常点\n",
    "for i in range(0,len(data)):\n",
    "    if data.loc[i,'season']==1:\n",
    "        if abs(data.loc[i,'cnt']-m1) > (3 * s1):\n",
    "                data.loc[i,'cnt']=m1\n",
    "                \n",
    "    if data.loc[i,'season']==3:\n",
    "        if abs(data.loc[i,'cnt']-m3) > (3 * s3):\n",
    "                data.loc[i,'cnt']=m3\n",
    "    \n",
    "    if data.loc[i,'season']==4:\n",
    "        if abs(data.loc[i,'cnt']-m4) > (3 * s4):\n",
    "                data.loc[i,'cnt']=m4\n",
    "\n",
    "sns.boxplot(data=data,x=\"season\",y=\"cnt\",orient='v')\n",
    "\n",
    "## 训练集划分（2011年的数据）\n",
    "data_train=data[data.yr==0]\n",
    "data_train=data_train.drop(\"yr\",axis=1)    #删掉特征：年份\n",
    "y_train = data_train['cnt'].values\n",
    "X_train = data_train.drop('cnt', axis = 1)\n",
    "\n",
    "## 测试集划分（2012年的数据）\n",
    "data_test=data[data.yr==1]\n",
    "data_test=data_test.drop(\"yr\",axis=1)    #删掉特征：年份\n",
    "y_test = data_test['cnt'].values\n",
    "X_test = data_test.drop('cnt', axis = 1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到经过对离群点“3倍标准差”原则的处理，箱型图离群点变得“温和”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1206,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\ipykernel_launcher.py:26: FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.\n",
      "C:\\Anaconda\\lib\\site-packages\\ipykernel_launcher.py:27: FutureWarning: Method .as_matrix will be removed in a future version. Use .values instead.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(365L, 7L)"
      ]
     },
     "execution_count": 1206,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "####################################################################\n",
    "# 数值型数据归一化\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "\n",
    "# 分别初始化对特征和目标值的归一化器\n",
    "mms_X = MinMaxScaler()\n",
    "mms_y = MinMaxScaler()\n",
    "\n",
    "# 取出X中要进行归一化的数值型特征列\n",
    "X_m1=X_train.drop(['season','holiday','workingday','weathersit'] ,axis=1)  #['season','holiday','workingday','weathersit']\n",
    "X_remain1=X_train.drop(['atemp','hum','windspeed'] ,axis=1)            #'atemp','hum','windspeed'\n",
    "\n",
    "X_m2=X_test.drop(['season','holiday','workingday','weathersit'] ,axis=1) #['season','holiday','workingday','weathersit']\n",
    "X_remain2=X_test.drop(['atemp','hum','windspeed'] ,axis=1)     #'atemp','hum','windspeed'\n",
    "\n",
    "# 分别对训练和测试数据的数值特征进行归一化处理\n",
    "X_m1 =pd.DataFrame( mms_X.fit_transform(X_m1),columns=['atemp','hum','windspeed'] )   #'atemp','hum','windspeed'\n",
    "X_m2 =pd.DataFrame( mms_X.transform(X_m2),columns=['atemp','hum','windspeed'] )   #'atemp','hum','windspeed'\n",
    "X_m2.index = range(365,len(X_m2) +365)       #重新整定测试集序号以便后续可正确合并回原来的Dataframe\n",
    "\n",
    "# 将归一化后的数据合并回原来的Dataframe\n",
    "X_train = X_remain1.join(X_m1)\n",
    "X_test = X_remain2.join(X_m2)\n",
    "\n",
    "# 数据类型转化为矩阵\n",
    "X_train=X_train.as_matrix() \n",
    "X_test=X_test.as_matrix() \n",
    "\n",
    "#对y归一化\n",
    "y_train = mms_y.fit_transform(y_train.reshape(-1, 1))\n",
    "y_test = mms_y.transform(y_test.reshape(-1, 1))\n",
    "\n",
    "##计算2011年与2012年每天的共享数量均值差，以待用作后续模型校正\n",
    "d=y_train.mean()-y_test.mean()\n",
    "\n",
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1207,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(365L, 14L)"
      ]
     },
     "execution_count": 1207,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 对训练集里类别型特征进行onehot编码处理\n",
    "enc1=OneHotEncoder(categorical_features=np.array([0,1,2,3])) \n",
    "enc1.fit_transform(X_train)\n",
    "X_train=enc1.transform(X_train).toarray()\n",
    "\n",
    "X_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1208,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(366L, 14L)"
      ]
     },
     "execution_count": 1208,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 对测试集里类别型特征进行onehot编码处理\n",
    "enc2=OneHotEncoder(categorical_features=np.array([0,1,2,3])) \n",
    "enc2.fit_transform(X_test)\n",
    "X_test=enc2.transform(X_test).toarray()\n",
    "\n",
    "X_test.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 缺省参数的线性回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1209,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>[2417838799673.0957]</td>\n",
       "      <td>weathersit1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>[2417838799673.044]</td>\n",
       "      <td>weathersit2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>[2417838799672.788]</td>\n",
       "      <td>weathersit3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[77036534822.1004]</td>\n",
       "      <td>holiday0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>[77036534822.04092]</td>\n",
       "      <td>holiday1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>[0.62255859375]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>[-0.13372802734375]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>[-0.138916015625]</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>[-3139694924801.9756]</td>\n",
       "      <td>workingday0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>[-3139694924801.9766]</td>\n",
       "      <td>workingday1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[-3171720977258.182]</td>\n",
       "      <td>season4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[-3171720977258.246]</td>\n",
       "      <td>season2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[-3171720977258.246]</td>\n",
       "      <td>season3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[-3171720977258.4385]</td>\n",
       "      <td>season1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     coef      columns\n",
       "8    [2417838799673.0957]  weathersit1\n",
       "9     [2417838799673.044]  weathersit2\n",
       "10    [2417838799672.788]  weathersit3\n",
       "4      [77036534822.1004]     holiday0\n",
       "5     [77036534822.04092]     holiday1\n",
       "11        [0.62255859375]        atemp\n",
       "13    [-0.13372802734375]    windspeed\n",
       "12      [-0.138916015625]          hum\n",
       "6   [-3139694924801.9756]  workingday0\n",
       "7   [-3139694924801.9766]  workingday1\n",
       "3    [-3171720977258.182]      season4\n",
       "1    [-3171720977258.246]      season2\n",
       "2    [-3171720977258.246]      season3\n",
       "0   [-3171720977258.4385]      season1"
      ]
     },
     "execution_count": 1209,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "lr = LinearRegression(fit_intercept=True)\n",
    "\n",
    "# 训练模型参数\n",
    "lr.fit(X_train, y_train)\n",
    "\n",
    "# 预测\n",
    "y_train_pred_lr = lr.predict(X_train)\n",
    "\n",
    "y_test_pred_lr = lr.predict(X_test)\n",
    "\n",
    "# 模型校正\n",
    "dist=np.ones([366,1])*d\n",
    "y_test_pred_lr=y_test_pred_lr-dist\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性（由于做了one-hot编码处理，所以类别型特征数量被扩展了）\n",
    "columns=[\"season1\",\"season2\",\"season3\",\"season4\",\"holiday0\",\"holiday1\",'workingday0','workingday1','weathersit1','weathersit2','weathersit3','atemp','hum','windspeed']\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef\":list((lr.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1210,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LinearRegression on train is 0.8047173584034873\n",
      "The r2 score of LinearRegression on test is 0.6693399607305435\n"
     ]
    }
   ],
   "source": [
    "print 'The r2 score of LinearRegression on train is', r2_score(y_train, y_train_pred_lr)\n",
    "print 'The r2 score of LinearRegression on test is', r2_score(y_test, y_test_pred_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1211,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#观察测试集与训练集的预测值与真值的散点图\n",
    "plt.figure(figsize=(4, 4))\n",
    "plt.scatter(y_test, y_test_pred_lr)\n",
    "plt.plot([0, 1.5], [0, 1.5], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True value(Test set)')\n",
    "plt.ylabel('Predicted value')\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.figure(figsize=(4, 4))\n",
    "plt.scatter(y_train, y_train_pred_lr)\n",
    "plt.plot([0, 1], [0, 1], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True value(Trainning set)')\n",
    "plt.ylabel('Predicted value')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "正则化的线性回归（L2正则 --> 岭回归）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1215,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of RidgeCV on test is 0.6682875265194291\n",
      "The r2 score of RidgeCV on train is 0.8045593357670654\n"
     ]
    }
   ],
   "source": [
    "from sklearn.linear_model import  RidgeCV\n",
    "\n",
    "#设置超参数（正则参数）范围\n",
    "#alphas = [0.001, 0.01, 0.1, 1, 10]\n",
    "n_alphas = 50\n",
    "alphas = np.logspace(-1,-0,n_alphas)\n",
    "\n",
    "#生成一个RidgeCV实例\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True)  \n",
    "\n",
    "#模型训练\n",
    "ridge.fit(X_train, y_train)    \n",
    "\n",
    "#预测\n",
    "y_test_pred_ridge = ridge.predict(X_test)\n",
    "y_train_pred_ridge = ridge.predict(X_train)\n",
    "\n",
    "#模型校正\n",
    "dist=np.ones([366,1])*d\n",
    "y_test_pred_ridge=y_test_pred_ridge-dist\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print 'The r2 score of RidgeCV on test is', r2_score(y_test, y_test_pred_ridge)\n",
    "print 'The r2 score of RidgeCV on train is', r2_score(y_train, y_train_pred_ridge)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1216,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#观察测试集与训练集的预测值与真值的散点图\n",
    "plt.figure(figsize=(4, 4))\n",
    "plt.scatter(y_test, y_test_pred_lr)\n",
    "plt.plot([0, 1.5], [0, 1.5], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True value(Test set)')\n",
    "plt.ylabel('Predicted value')\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.figure(figsize=(4, 4))\n",
    "plt.scatter(y_train, y_train_pred_lr)\n",
    "plt.plot([0, 1], [0, 1], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True value(Trainning set)')\n",
    "plt.ylabel('Predicted value')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1217,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.1757510624854792)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>[0.6039788837729789]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>[0.11968374268504611]</td>\n",
       "      <td>weathersit1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[0.09747467848153457]</td>\n",
       "      <td>season4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>[0.06697351055236034]</td>\n",
       "      <td>weathersit2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[0.036122805026723714]</td>\n",
       "      <td>season3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[0.033129311109023285]</td>\n",
       "      <td>season2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[0.030701103141994035]</td>\n",
       "      <td>holiday0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>[0.0010934693932238004]</td>\n",
       "      <td>workingday0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>[-0.0010934693932252715]</td>\n",
       "      <td>workingday1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>[-0.030701103141994035]</td>\n",
       "      <td>holiday1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>[-0.12873606859152376]</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>[-0.1333216529805521]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[-0.1667267946172808]</td>\n",
       "      <td>season1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>[-0.18665725323740567]</td>\n",
       "      <td>weathersit3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  coef_ridge      columns\n",
       "11      [0.6039788837729789]        atemp\n",
       "8      [0.11968374268504611]  weathersit1\n",
       "3      [0.09747467848153457]      season4\n",
       "9      [0.06697351055236034]  weathersit2\n",
       "2     [0.036122805026723714]      season3\n",
       "1     [0.033129311109023285]      season2\n",
       "4     [0.030701103141994035]     holiday0\n",
       "6    [0.0010934693932238004]  workingday0\n",
       "7   [-0.0010934693932252715]  workingday1\n",
       "5    [-0.030701103141994035]     holiday1\n",
       "12    [-0.12873606859152376]          hum\n",
       "13     [-0.1333216529805521]    windspeed\n",
       "0      [-0.1667267946172808]      season1\n",
       "10    [-0.18665725323740567]  weathersit3"
      ]
     },
     "execution_count": 1217,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse_mean = np.mean(ridge.cv_values_, axis = 0)\n",
    "plt.plot(np.log10(alphas), mse_mean.reshape(len(alphas),1)) \n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "print ('alpha is:', ridge.alpha_)\n",
    "\n",
    "# 各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns),  \"coef_ridge\":list((ridge.coef_.T))})\n",
    "fs.sort_values(by=['coef_ridge'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1218,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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ZygdTEaOHMmECRNoamrq1vMNaUkqwJIlS9hqq62YOHEiEY368jP1p8xk5cqVLFmyhEmTJnVrGx7ulqQCvPLKK2y33XYG9CASEWy33XY9OjpiSEtSIQzowaen76khLUlSoTwnLUkFamvr++0NGzaMffbZh9WrVzNp0iS+853vsM0222zyvk477TQ++tGPsueee75h/ZVXXsm8efO47LLLNnmbAKNGjWLVqlV1tZ0+fToXX3wxra2t69bNmzePq6++mksvvbRb++8PjqQlSQBsscUWLFiwgIcffpgxY8Zw+eWXd2s73/jGNzYI6BK0trb2ekCvWbOmodszpCVJG5g2bRpLly5dt3zRRRex//77s++++3LBBRcA8OKLLzJz5kwmT57M3nvvzQ033ADURrFrp4D+9re/ze67786hhx7Kvffeu257J598MjfffPO65VGjRgGwatUqZsyYwX777cc+++zDrbfeukFty5Yt45BDDqGlpYW9996bn/70p3X16a677uLII48EoK2tjVNOOYXp06ezyy67vCG8r7nmGqZOnUpLSwtnnHHGuuA988wzaW1tZa+99lr3GkBtyusLL7yQd7zjHdx000111VIvD3dLkt5gzZo1zJ07l1NPPRWA22+/nUWLFvHAAw+QmRx11FHcfffdrFixgp122okf/vCHADz33HNv2M6yZcu44IILmD9/PqNHj+ad73wnU6ZM2ei+R44cyS233MLWW2/N008/zYEHHshRRx31hguwrrvuOg4//HA+9alPsWbNGl566aVu9fNXv/oVd955Jy+88AJvfetbOfPMM1m8eDE33HAD9957L01NTZx11llce+21nHjiiXzhC19gzJgxrFmzhhkzZvDQQw+x7777rqv7nnvu6VYdG2NIS5IAePnll2lpaeGxxx7j7W9/O4cddhhQC+nbb799XcCuWrWKRYsWcfDBB/Oxj32MT3ziExx55JEcfPDBb9je/fffz/Tp02lurn3Z0zHHHMNvfvObjdaQmZx//vncfffdbLbZZixdupTly5ez4447rmuz//77c8opp/Daa69x9NFH09LS0q3+zpw5kxEjRjBixAjGjh3L8uXLmTt3LvPnz2f//fdf95qMHTsWgBtvvJE5c+awevVqli1bxqOPProupI855phu1dAVD3dLkoA/n5N+/PHHefXVV9edk85Mzjvv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\n",
      "text/plain": [
       "<Figure size 504x360 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#在训练集上观察预测残差的分布，验证是否符合模型假设：噪声为0均值的高斯噪声\n",
    "f,ax = plt.subplots(figsize=(7, 5)) \n",
    "f.tight_layout() \n",
    "ax.hist(y_train - y_train_pred_lr,bins=40, label='Residuals Linear', color='b', alpha=.5); \n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "正则化的线性回归（L1正则 --> Lasso）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1224,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LassoCV on test is 0.6568960991443206\n",
      "The r2 score of LassoCV on train is 0.8007247178047816\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:1094: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from sklearn.linear_model import LassoCV\n",
    "\n",
    "#设置超参数搜索范围\n",
    "n_alphas = 100\n",
    "alphas = np.logspace(-3.5,-2.5,n_alphas)\n",
    "#alphas = [0.00001, 0.0001,0.001,0.01, 0.1, 1]\n",
    "\n",
    "#生成一个LassoCV实例\n",
    "lasso = LassoCV(alphas=alphas)  \n",
    "#lasso = LassoCV()  \n",
    "\n",
    "#训练\n",
    "lasso.fit(X_train, y_train)  \n",
    "\n",
    "#测试\n",
    "y_test_pred_lasso = lasso.predict(X_test)\n",
    "y_train_pred_lasso = lasso.predict(X_train)\n",
    "dist=np.ones([366,])*d\n",
    "y_test_pred_lasso=y_test_pred_lasso-dist\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print 'The r2 score of LassoCV on test is', r2_score(y_test, y_test_pred_lasso)\n",
    "print 'The r2 score of LassoCV on train is', r2_score(y_train, y_train_pred_lasso)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1225,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.00101169709987675)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef_lasso</th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>6.742348e-02</td>\n",
       "      <td>[2417838799673.0957]</td>\n",
       "      <td>[0.11968374268504611]</td>\n",
       "      <td>weathersit1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>-0.000000e+00</td>\n",
       "      <td>[2417838799673.044]</td>\n",
       "      <td>[0.06697351055236034]</td>\n",
       "      <td>weathersit2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>-2.420515e-01</td>\n",
       "      <td>[2417838799672.788]</td>\n",
       "      <td>[-0.18665725323740567]</td>\n",
       "      <td>weathersit3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.936804e-02</td>\n",
       "      <td>[77036534822.1004]</td>\n",
       "      <td>[0.030701103141994035]</td>\n",
       "      <td>holiday0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>-6.278233e-17</td>\n",
       "      <td>[77036534822.04092]</td>\n",
       "      <td>[-0.030701103141994035]</td>\n",
       "      <td>holiday1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>5.729337e-01</td>\n",
       "      <td>[0.62255859375]</td>\n",
       "      <td>[0.6039788837729789]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>-8.536124e-02</td>\n",
       "      <td>[-0.13372802734375]</td>\n",
       "      <td>[-0.1333216529805521]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>-4.386535e-02</td>\n",
       "      <td>[-0.138916015625]</td>\n",
       "      <td>[-0.12873606859152376]</td>\n",
       "      <td>hum</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>-0.000000e+00</td>\n",
       "      <td>[-3139694924801.9756]</td>\n",
       "      <td>[0.0010934693932238004]</td>\n",
       "      <td>workingday0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>[-3139694924801.9766]</td>\n",
       "      <td>[-0.0010934693932252715]</td>\n",
       "      <td>workingday1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4.881001e-02</td>\n",
       "      <td>[-3171720977258.182]</td>\n",
       "      <td>[0.09747467848153457]</td>\n",
       "      <td>season4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-2.820647e-03</td>\n",
       "      <td>[-3171720977258.246]</td>\n",
       "      <td>[0.033129311109023285]</td>\n",
       "      <td>season2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>[-3171720977258.246]</td>\n",
       "      <td>[0.036122805026723714]</td>\n",
       "      <td>season3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>-2.076624e-01</td>\n",
       "      <td>[-3171720977258.4385]</td>\n",
       "      <td>[-0.1667267946172808]</td>\n",
       "      <td>season1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      coef_lasso                coef_lr                coef_ridge      columns\n",
       "8   6.742348e-02   [2417838799673.0957]     [0.11968374268504611]  weathersit1\n",
       "9  -0.000000e+00    [2417838799673.044]     [0.06697351055236034]  weathersit2\n",
       "10 -2.420515e-01    [2417838799672.788]    [-0.18665725323740567]  weathersit3\n",
       "4   1.936804e-02     [77036534822.1004]    [0.030701103141994035]     holiday0\n",
       "5  -6.278233e-17    [77036534822.04092]   [-0.030701103141994035]     holiday1\n",
       "11  5.729337e-01        [0.62255859375]      [0.6039788837729789]        atemp\n",
       "13 -8.536124e-02    [-0.13372802734375]     [-0.1333216529805521]    windspeed\n",
       "12 -4.386535e-02      [-0.138916015625]    [-0.12873606859152376]          hum\n",
       "6  -0.000000e+00  [-3139694924801.9756]   [0.0010934693932238004]  workingday0\n",
       "7   0.000000e+00  [-3139694924801.9766]  [-0.0010934693932252715]  workingday1\n",
       "3   4.881001e-02   [-3171720977258.182]     [0.09747467848153457]      season4\n",
       "1  -2.820647e-03   [-3171720977258.246]    [0.033129311109023285]      season2\n",
       "2   0.000000e+00   [-3171720977258.246]    [0.036122805026723714]      season3\n",
       "0  -2.076624e-01  [-3171720977258.4385]     [-0.1667267946172808]      season1"
      ]
     },
     "execution_count": 1225,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T)), \"coef_lasso\":list((lasso.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1226,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAARgAAAEYCAYAAACHjumMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJztnXl8VOXV+L8nYYAEgYQCClFERVARJRpb6lJ3FhGNS8XtZ617q1XBotBapC4/rLz+tMvbWhe0ViublheVsii4vFpaoYAUlRZFqkEhLEGWELKc3x9zJ06GuTN3ljtLcr6fTz6Zufe5z3PuTebMec5znnNEVTEMw/CDgmwLYBhG68UUjGEYvmEKxjAM3zAFYxiGb5iCMQzDN0zBGIbhG6ZgDMPwDVMwhmH4hikYwzB8o122BUiU7t27a9++fbMthmG0aZYtW7ZZVXvEa5d3CqZv374sXbo022IYRptGRNZ7aWdTJMMwfMMUjGEYvmEKxjAM3zAFYxiGb5iCMQzDN0zBGIbhG6ZgDMPwDVMwhmEA0NTUlPY+TcEYhoGqMnnyZDZu3JjWfk3BGIaBiHDnnXdSVFSU1n5NwRhGG+aDDz7grLPOYuPGjQQCAbp06ZLW/vNuL5JhGOlh/fr1DB06lMbGRnbt2uXLGKZgDKMNUl1dzdChQ9m5cydvvfUWhx56qC/jmIIxjDbGV199xYgRI/jss89YsGABxxxzjG9jmQ/GMNoYO3bsYO/evcyaNYuTTz7Z17HMgjGMNkJDQwMiQllZGf/4xz9o187/j79ZMIbRBlBVbrzxRq644gqampoyolzAFIxhtAnGjx/P1KlTGTBgAAUFmfvYm4IxjFbOlClTeOihh/jhD3/IpEmTMjq2bwpGRKaKyCYR+WecdieISKOIXOyXLIbRVnn66ae58847GT16NL/61a8QkYyO76cF8wwwPFYDESkEfgHM91EOw2iz9OvXj0suuYRnn32WwsLCjI/vm4JR1beArXGa/Qh4EdjklxyG0RYJbVo85ZRTmD59Ou3bt8+KHFnzwYhIGXAB8JiHtjeIyFIRWVpdXe2/cIaRxyxbtozDDz+cp556KtuiZNXJ+yhwl6o2xmuoqo+raoWqVvToEbfWk2G0WdasWcPw4cPp1q0bw4fH9FBkhGwG2lUA0xynU3fgHBFpUNXZWZTJMPKWzz//nKFDhyIiLFiwgLKysmyLlD0Fo6qHhF6LyDPAK6ZcDCM56urqGDZsGNu2beONN96gf//+2RYJ8FHBiMgLwGlAdxH5HLgHCACoaly/i2EY3unQoQO33norAwYM4Ljjjsu2OM2IqmZbhoSoqKhQq01tGEHq6upYs2aNrzuioyEiy1S1Il47i+Q1jDylsbGRq666ihNPPJEvvvgi2+JExXZTG0YeoqrcfPPNzJgxgylTptCrV69sixQVs2AMIw+ZOHEiv//977nrrrv48Y9/nG1xXDEFYxh5xiuvvML999/Ptddey+TJk7MtTkxsimQYecaIESN47LHHuPbaazO+eTFRzIIxjDzh9ddfp6qqisLCQm688caMJY1KBVMwhpEHvP3225x77rnceuut2RYlIXJfBRptjtnLq5gyfw0bamrpXVLEuGEDqCzPfth7tli5ciWjRo3i4IMP5rHH8itG1RSMkVPMXl7FhJdWUVsf3ANbVVPLhJdWAbRJJfPxxx8zbNgwOnfuzIIFC8i3zb6mYIysE26xFIjQGBFdXlvfyJT5azwpmNZm/dxxxx00NDSwePFi+vTpk21xEsYUjJFVIi2WSOUSYkNNbcJ9tQbr5+mnn2b9+vUceeSR2RYlKczJa2SVKfPXNCuEWPQuKUqqr5D14zezl1dx0oOLOGT8q5z04CJmL69Kuq/du3czceJE9uzZQ2lpKYMHD06jpJnFLBgjq3ixTIoChYwbNiDpvryMEU6i06x0Wk719fVccsklzJ07l1NPPZUzzzwzoetzDbNgjKziZpkUiiBAWUkRky8c5OmD6tZXtONuFkdIWVTV1KIElcWY6Su4e/Yq13HTZTk1NTVxzTXX8Oqrr/LYY4/lvXIBs2CMLDNu2IAW3/4QtFi8KpV4fQlw+hEtV15iWRzRlIUCzy/5DxUHd4sqUzosJ1VlzJgxPPfcczzwwAPccMMNnq/NZUzBGFkl9IFNx8pPZXkZS9dv5fkl/yHkKlZg+t8/49X3v6Bmdz29S4rYVdfganG4KQV1ZIwmV++SIqqiXOfFbxRiw4YNPPfcc4wZM4YJEyZ4vi7XMQVjZJ3K8rK0rfIs/qiayHWo+iZl2+56gKiKIERIwbm1cVM+blaYF79RiLKyMpYvX86BBx6Y8/uLEsF8MEarIlGHbjgh6ynW+WhUlpcx+cJBlJUUIUBJUYCOgQLGTF8Rd0VpxowZ3Hvvvagqffr0yWjd6ExgFozRqohlgcQi3OIoAJoizgcKZR/lE221CfC8orRgwQKuvPJKhgwZwvjx47NWHM1PslabWkSuEJH3nZ93ReRYv2Qx2g7jhg2gKOCtRGqhMxUJX6maMn/NPsoFoFP7di0URLTVpnEzVzJ2xgpPK0pLlizhggsu4KijjmLOnDmtUrlAdmtTrwNOVdVjgPuAx32UxWgjRJuuBAqj+zQaVZstl5DycJtiba+tb/F+0pzV+yiS+ialySWHfni/q1evZuTIkfTq1Yt58+ZRUlLi8e7yD9+mSKr6loj0jXH+3bC3S4AD/ZLFaFtEOo1DU5loU6fIfU5diwLURCiT0PHw/qK1iUW4/2bqy2+ys7GQorMmcNEzHzBuWGPebmWIR654lK4F/pJtIYzWSWV5Ge+MPwO3tZlw68JtASf8eDJbD04/ogeqyuzlVczddSj7X/s72pUc4CmQL5/JupNXRE4nqGBOjtHmBuAGIC93lBrZJWTBuFUA61oU4KQHF7HB8adEo2b31xZLMitVC1d8yhv/9QO2HDqc2t7lFAQ6Np9T4Lkl/2Fd9U4+3VK7j9M4n3eHZ1XBiMgxwJPACFXd4tZOVR/H8dFUVFTkV6U4I6NEruycfkQPXlxW5bqhMlAg7NrbEHfKEz7FKSkONMfVeEEb9rLy6Xuo+/wDevY6G7fwu3c+3tr8uqqmltunr2hxPtaKVK6mqcjaFElE+gAvAf9HVf+VLTmM1kO0lZ3nl/zHVbmUlRSxX8d21DfG/s6KDJrb42H3dwhtaqR6zkPU/WcV3UeOoeiwuMUQYxJtRWr28irGzVy5z4pWKju604Wfy9QvAH8FBojI5yJyrYjcJCI3OU0mAt8AfisiK0TE6sEaKeG2jygaArwz/owWU59obSI3W85eXkVtfbSF7H1RVbbM+zW1/15C6Vk30umo0zxdF49IZ/WkOaupj1i+qm9SJs1ZnZbxUsHPVaTL4py/DrjOr/GNtkcivpHQlMctMK9QhIcvOXafaUZiDl6lINCRrideRpfjRyVwXWyEoKILyeY2vUt0pcsPcmUVyTBSxi2UP3JhKHzK4xaY16jKhJdW7TPN8KrEmvbWIlJA6Vk30vXkyz1d45XQxst8wBSM0WqIpiyKAoVcMaRPc+Bd5JQnFJhXGGV9Opq/w8sO6R0rF7DhyR/QsH0jIuLL5sVwRVdaHIjaxu14Jsn6MrVhpItkUz9UlpcxJmLFJkSkxTJu2ADGTF/h6tvZ/a932Tr/N3TsO5jC/bolfA9eCVd094wayLhZK1s4qwOFwj2jBvo2vldMwRitCrfUD/GWcb3mdImWcybEnvXvUz3nIdr3OpwelT9BCv2zIMJXtSIVa0lxAFUYM30FU+avyeqStU2RjFZPtOXrSP+K2/Qq2g7qaDln9m76hE0v3UegtDc9L55EQfuO+MmU+WtayB+KVn5k9GD21DdRU1vveq+ZRNSlTESuUlFRoUuX2oq24Z2THlwU1TopKyninfFnNL+PZ+VEptoMp6luF1sXPkbJqd+jXefu/tyIC2Vhssa613HDBqQtGE9Elqlq3KAemyIZrR6vOXOjbZIMbSFwS7XZsHMrBR2KKejQie7n3pF+4T0QHuHrdq+hNpmuGWUKxmj1uPlXCkSapw5eEkdF0lj7FZum/ZTCrj3Z/7s/9/EO4hNa8YoV1+OWp8ZPBWNTJKPVE2tqEygUUFpEwhYFCukYKIi536hpby0bp/2UvZvWsf8l99Kxz6CEZBLco4xT4cohffbZe1UUKIxZ3E4g4SmTTZEMwyH0obljxsp9StNG24dUW98Y8wOpDfVU//n/svfLtfS44CcJKxfwR7lAcFc2fK3AQpZLYZSa3+Gy+DVlslUko01QWV7m+gFLBAG2vv44ez5dzjeG/4jiw4ekLpwPhO40dM9e7t2PMrtmwRhZI5MpBmYvr0rLtESBLidU0n7/w9jvmLPTIFlmKRShSdX1OaRSlSEaZsEYWcFLbEo6iZVwyiu1n65AVQl0K6Pz4FjppnOXJlXWPTiSsgTK7KaCKRgjK6RSz9mtrnQsUv1m/uq9/2HT9LvZ9cEbKfUTTkEW6quFFIjXwMJUsSmSkRWSreccq640uO9DirV8G88/sfOfi9i26AmK+59IpyO/E7OtVwKFwjf7lrbIYpcIZSVFbKippShQwG6P+WnCFUg6S/bGwhSMkRWSrefsZvmMmb6CdoXSvCoUuSriVt71ouPLmP7eZ65Z7XZ//B5b5j5Kx4OPofuoHyMF3mouxWP0CQfx4rLkpoPRIpAnzVndIv9LSVGAc4/txeKPql0VSDpL9rphCsbICsnWc45VnD5SSUQGknVoV9A8XmlxoHm38fS/fxa1z8Y9O9k8Zwrt9z+MHhfcjbRLT3G0spIiXn3/i5hL4W5Ee0axNngu/qg6aTnTgSkYI+14WR1K1kRPtDTshpraqIF2NbvruX36iphTpMKO+9Hjgp/QvuchFHQo9jxmPGp272XX3sSVS1kC05hYU8lM7qy2SF4jrUT7MBcFClskeUqFu2evipoqwY3QakkiSql+2xfUV6+juP+JSUiYfgIFwpTvBisre1XIXjd4JotF8hpZIdbqUDIKJtwaKikOsHNPg2flEppOuCWTikbDzq1smn43TfV76Hjw4LRaLslQUhRg0nnBqVwiFkmyTvR042dVgakisklE/ulyXkTkVyKyVkTeF5Hj/JLF8I/IJWM3SyGZf+zIWJltu+v3yZ4fTgFB30pkakyvsR2Ne3ayacZEGndvp+dFE7OuXAAmnTeQyvKyhJf13e453XEu8fCkYETkYBE5y3ldJCKdPVz2DBArGmkEcLjzcwPwOy+yGLlDtGA5t9COZP6xo32oYlHopIlc9+BIxg0bwM9fXk3f8a96mh411e+heta91G/5nB4X3k2H3umNB0mWkAJJ1CLJVJxLPOJOkUTkeoIKoBtwGMEi9Y8BZ8a6TlXfEpG+MZqcDzyrQSfQEhEpEZFeqvqFR9mNLONWhygyJD/Zf+xErZ76Rm3+QEbmqI3H7g/fpq7qQ7qffxdFfQcnNG48igMFKPumS/BC6BkkuqyfqTiXeHjxwdwMfBP4G4Cq/ltEeqZh7DIgfH3wc+fYPgrGalPnJrGWjEOBYOH5VcKTN0X7Z49cfUq0RGtIpinz1ySkXAA6DTqL9vsfRvv9D03oOi/srm+ipChAx0ABNbvrm0vahseouK0shUfeJrqsn4k4l3h4UTB1qro3VHpBRNqRnt3m0azpqP1aberk8Hszodu3arRAsHgOymhtAgVCICx4zqtMXi0fVWX7O3+iuP+JtO95SErKpVCEJhS3Rdma2nqKAoU8Mnqwa8xKLAWSKxZJonhRMG+KyE+AIhE5G/gh8HIaxv4cOCjs/YHAhjT0a5CeOIh4Csrrt6qXlaVobeqblJKiAJ06tPPkRwmNPWX+Gk/tt/91OtvfeQFtaqR9z0Pito9FrB3KIWKtpnlRILlgkSSKFwUzHrgWWAXcCMwFnkzD2HOAW0RkGvAtYLv5X9JHqsvFXhSU129VLw5Ktzbba+uZdN5Abo+z1BwZhBbPB7Nj+Vy2v/0cnY4+g5JTrozZtxd6e4y3iWVd5aMCiUdcBaOqTcATzo9nROQF4DSgu4h8DtwDBJw+HyOoqM4B1gK7ge8n0r8Rm1TjILwqKC8fCi8OylhtvOywrqqpbS72HpJn7IwVRFvV3vXhW2xd8DuK+n2Tbwy/FZHUojXCrTa31JwhMr1MnG28rCKtI4pvRFVjTlhV9bI455WgA9lIgnQVEnMjnYFa44YNiFp5MHwqFWu65TVQrqa2nrFhbaMpF1Vl1+rFdDjwKLqfdxdSmFqsabTw/dAULV2rafmMl6cbHg7cEfguwSVrI0t4mb4ku5kwRLIKKpriA/b5iqpvVG6PUnkwmtL06lMBaALGzVxBg0sGAxGhR+VP0MZ6CgIdPPUZtR9g3YMj9zkebtFlMmNfrpLUXiQR+V9VPdkHeeJie5HSV0gsFsnsKXK7pkO7ghapBKJRIEGLI5pFcPfsVc3JrJNlb/V6ti2eSvdzx1JY3DWlviC4avTwJce2OYURIm17kSJC+AsIWjReInkNn0i2kFgiJLMs6ua38RJgFprORLPGUk050LB9I5tm/Cw4zt7auAqm1KntHEspNqpmZXdyvuFlivRw2OsG4FPgEl+kMTyRqn/FjWgWT7Sdt26WUbo20kU6k1Ppt3FXDRun/wytr2P/K35BoOQACghOpdyo2V3fYvoze3lV1JInmShclu94WUU6PROCGN45/YgeUacMpx/RI+G+Qsoi0inpFjcTy//jpvhKiwPsqW9KKFQ+XKkkmgMmRFPdbjbNvIfGHVvoOfp+2vfoCwT3LHVp387VQolU1JXlZa6O5kzvTs43XBWMiIyNdaGq/r/0i2N4wW3KkOhUIlJZRHrjon1Dx1q+juZYhuAu6NLiQLMvxkv5kPAPeWglKVFvYdOenTTV19GjcjwdDzyy+Xh9oyISzLMSuTs7fHUr3FIrcElM1daWnRMlVgBA5zg/RpZI1xKyl93KkX3GGruyvIyLji+Lugdk2+566hqaeHT0YB4ZPZiSokDMccOtscrysoSUizY1otpEu6496X3tf1N02An7tKnZXc+U7x67jxyd2ge/cyN3ikdTLm1x2TlRXC0YVc1uNW/DlXT5YLwopMg+4429+KNqV2UQsnTeGX8GleVlrr6NUD/hlHmcJqkqW+b9GlT5xjm3uybp7l1S1GyZhVtdNbX1THhpVYv8veGECpe11WXnRIkbwigiHUXkZhH5rZNEaqqITM2EcEZ00pXrI55CitZnvLHjKa3w85XlZTS5hEmEt5u9vIrdexti9hui5o2n2bXqNdp17Ulog24k4fK6Tfnc/DOhwmUhJWnExssq0h+Bj4BhwL3AFcCHfgplxCZdO2uj+UxC/hG3BNPxxo7nkPVqEZUUB5rjfbyWfN3+t1l89feX6HzcSLqedHmLc6XFgeZUCeHyJjqtNJ9LYnhRMP1U9bsicr6q/kFE/gTM91swIzbp2BiXrKKKNbaboxfcLaLI9oFCYeeehuZcMF6Uy46VC6h54xmKj/wOpWfd2MJ6EeCeUQOjyuym4KIpNfO5JI4XBROyFWtE5GjgS6CvbxIZGSXdO3jDlVZVTW1zWZBELKJddQ1xI38jade1J8UDTqL7yDH7bF5Up/9o9+mmEKMptYuOb327nf3Gi4J5XERKgZ8RTLGwn/PayCD5tK8lUaUV2f6Q8a96vrZx93YKi7tS1HdwzFSXblOhSAXnthwNqUcUt0W87FN/WlW3qeqbqnqoqvZU1d/7LpnRTLTk2hNeWuWp6Hs+4tXPUffFv6n6/fXsXL04oT4jKyFA0JLpXVIUs061BdUljhcLZp2IzAOmA4s03yq1+UimrIp01xryk3Q8k1h+nBD1Wz5n84uT6NK1hL5Hn8AWxdX6EKfPkHyRkcjjZq4E2bf0bCTm4E0cLwpmADCKYO6WqSLyMjBNVf/XV8lynEyW5syVIlrxSNczifTjRDpc2+3eyq5X7qW0uD3vvPMGhx9+eNTxIahcrhjSJ25qznhE5q8xvBF3iqSqtao6Q1UvBAYDXYA3fZcsx0m0EFYq5EoRrXik85lUlpfxzvgz+PTBkS0if5vq9/D5tLvZvXMH8+fPb1YuoWsmXziIspKi5uJrj4wezP2Vg5rbJKuUp1zcdlMzpIKndF4iciowmmCxtPew3dQZtSpSTR7lN+EbJqORjmdS52SQKgh0pPiYYXTu3Y/19KQ8ol08B3MyGyfLwqJ+jcTwEsm7DrgdeBs4WlUvUdUXfZcsx8mkVRHtmzldxeRTJdwB7YbbM4l0tro5rafMX8Pu2j3s3RzcQd6l4nyk98CkLKNokcih8ijRyCVFno94sWCOVdWvkulcRIYDvwQKgSdV9cGI832APwAlTpvxqjo3mbEyTaatilzNOB9vw6TbM0nEX1O1dSebX3mY2nX/oOyGxynsVAIELaNEncpuwYWhY15id5Iln0IN0kVSKTM9dSxSCPwLOJtgDaT3gMtU9YOwNo8Dy1X1dyJyFDBXVfvG6jeXUma2xX+YSA4Z/6prpG2sD6hb2s/IVJSqSo9vnsuWpXMpPf0aunzzwua20fLMxEvrmS2SSUGay6QtZWYKfBNYq6qfOAJNI1iP+oOwNkrQaQzQlTwrvJarVkUm8VrdMRI3v0xkKsrRN4xhy9K5dBlycQvlUlggqJI3y/f5FGqQTlIrCBMbt9rT4UwCrnTqJs0FfhStIxG5QUSWisjS6mqLpoyGV39Gukl2Z3csX1Xogzd79mxmPvlL9jtmKCXf+V6LNo1N6rqdoMqZOuUS+RJqkG78zGjnpfb0ZcAzqvqwiHwb+KOIHO0Uewsfy2pTxyCTMTmRJLthMl4w3YaaWkaOHEm3s29iv8EjoqZeKIwR1p9rCbn9yqOc68SaIoWy1g0ATiC4DwmCQXdveejbS+3pa4HhAKr6VxHpCHQHNnno33DItvmdzFQx1D5qMu31K+lzaH8CgQBHnPFd1xWqRlWKAoVRlVSuTT9yPdTAL1ynSKr6cyerXXfgOFW9Q1XvAI4nqCzi8R5wuIgcIiLtgUv5WkmF+A9wJoCIHEmwsJvNgRIkX83vyvIyHr7k2BZTrD2f/ZPqWT+n49I/AsEPZvQF5K+X693IpfvP5VADP/Hi5O0D7A17vxcP6RpUtUFEbiGYO6YQmKqqq0XkXmCpqs4B7gCeEJExBKdPV9tep8RJxfzO1kpY+LhdiwJ0DBSwcd0aNr94H70PPIiXnnsSCH4wl67fyvNL/hO1DGusyo+5Nv1oi4sCXjPa/V1E/kxQCVwAPOulcyemZW7EsYlhrz8ATvIsrRGVZM3vbPluIsetqa2ncMdGal++j149SnnnzUX06PF10u/7KwdRcXA3V0XYVqcf+YCnOBinuuMpztu3VHW5r1LFIJfiYHKJZCwRryVo0y1jtDE3zryHhi//zftLl3DkkUdGudpb3205JimTpDsOphj4SlWfFpEeInKIqq5LTUQjnSRjfmfSd3P37FX7THPC6T5yLI07trBmTxeue3BRwooi0fs3hZQZvOxFuge4C5jgHAoAz/kplJEZMrWfavbyqqjKpal+DzXvvIA21lNY3JUO+x+6T2KtMdNX0DfNsT1tLYFXNvFiwVwAlAP/AFDVDSJihddaAW6+i9OP6MFJSVgR4YRbCMi+AVDa2ED17Mns+eQfdDxoIB37HIOyb2RuvFK2yZDtZf22hBcFs1dVVUQUQEQ6+SyT4UK6zfpoQXKnH9GDF5dVJeX4nb28ip+/vLq5GkAzEdpFtYnNcx9hzyfL6DbsFjr2OcaTvOlSAvm6rJ+PeFEwM0Tk90CJiFwPXAM86a9YRiR+rfhE+i5OenBRUt/us5dXMW7WyrhpJ1WVba8/we4P3qTkO1fRefBwIJgyYb+O7fZVThGkQwm01ajabOAlo91/AbOAFwlG9U5U1V/5LZjRkkxl0Ev2233K/DVxlQtA41fV7Fz1Op1PqKTLkO82H9+vYzvuGTVwn31NkZQUx65p7YV0VcY04hPXghGRX6jqXcDCKMeMDJEpsz7Zb3evcrTr2pNe3//VPqVda3bX75OLNxrpCMNMV2VMIz5epkhnE1xFCmdElGOGj2TKrI8XtObmByopDsSc3uz64E0admym67cuIlBygOt9hKZsbnlmtidYkM2NthhVmw1i7ab+AfBD4DAReT/sVGfgXb8FM1riZ7RqpNK46PgyFn9U3cLxO2X+Gm6fvqJFhv9wP1Asy6L2k2VsfvX/0aHsyGC6y8KW/3bR7sP8JK0D10heEekKlAKTgfFhp3ao6tYMyBaVthzJm+5VJLdVn0CBMPqbB7H4o2pPxedF3BVMXdWHbJx+N+1Kyzjg8skUdGi5COmW9a61ZYBrbXiN5I27VUBEhgCrVXWH874zcJSq/i0tkiZIa1Iw2YwmjfYBTjd7q9ez8U93UVDUmQOueIjCTqUtzsfbkmDRtrlLOrcK/A44Luz9rijHjATJZpIoiJ+sOx3s/XItEuhIz0vu20e5eAnoMz9J/uNFwUh4CgVVbRIRP3P5tgmyHU3qZ1CZqiIi7DfoTIoHnERB+44tzheKcNHxZUkH9Bn5g5ecvJ+IyK0iEnB+bgM+8VuwVMlWjlqvZCOaNPyZFERJQZkOmup2sfFPd1H7yTKAfZQLQJMqiz+qzlhlTCN7eFEwNwEnAlUE02B+C7jBT6FSJR82s2W6HGzkM3HLZZsK2rCXTS/eR92G2Eqid0mRheu3EbxE8m5S1UtVtaeq7q+ql6tqTufMzWTd6GSJFk0qwOlH9Ih+QYq4+VwKHUumMEWLRpsaqZ7zEHWfrab7yLEUHXp81HahJel8qbdtpEasOJg7VfUhEfk1UVYpVfVWXyVLgXz4doyWClKBF5dVUXFwt7T7IdzuvUmVTx8cCQStnNunr0i4b1Vly19+Te2/l1B61o10OurU5nOhPUY1u+v3ceRaFrrWTyxn7YfO77xbE86XIK3FH1Xvo7n9cvTGeyahKZQbBU6sS9R+tAkpKKDrSZfT5fhRzXEzsSo7Wrh+28BVwajqy87vPyTbebza1E6bSwgWYFNgpapenux4IfIlR2umLK3Zy6vYVdewz/HwZxJr2TpQKEy5+OtyruW0YwnSAAAYLUlEQVT3LmgOzmuq30NBoCPdhgdr5iVSz9mWoVs/saZILxMjgFNVz4vVsVOb+r8Jq00tInMialMfTjBT3kmquk1EeiYof1Ty5dvRL0srPECtpDjAzj0N1De1/FOWFge4Z9TA5mcSS6mNPuGgFs/unlEDGTdrJVv/MY/tf53BAZf/gqLSHi2UkGFA7CnSfzm/LwQO4Os0mZcBn3ro20tt6uuB/1bVbRB0KHuWPA758O2YqqUVLdIVWvo23DYgFrdv1+L5uCk7CE7lwqksL+Ovr8/lofn/TdEh5RzU+wDuGnl0zj9vI/PEmiK9CSAi96nqd8JOvSwiXio7RqtN/a2INv2dMd4hOI2apKrzIjsSkRtwlsb79OnjYWh/8CN0vWOgoFkZlBQFmHTewBZ9uimRSXNWt6jNHFqKL5B9005Go6qmlr7jXwWIu9co0rpZtGgRj/70Fr495FssXLiQTp0syaERHS8RuT1E5NAwS+QQwMtaqpfa1O2Aw4HTCFaLfNupTV3T4qIcqE2d7tD+aFn26xpalOSOOua4WStB2WfKA94USzTiPdDwKdvy5cs5//zz6d+/P6+88oopFyMmXhTMGOANEQlF7/YFbvRwnZfa1J8DS1S1HlgnImsIKpz3PPSfUdIZ2u+WZT+yv2hjeskal04i9wz1aF9P+clnMu2p39KtW7eMymLkH3EVjKrOc5yxRziHPlLVOg99N9emJhgFfCkQuUI0m6BP5xkR6U5wypST2xASWfGJN5WaMn+Nq9VQVVPLIeNfjekTySShPUM7t22moGMnNtGeooqb+PtGpbJ3tqUzch0vdZGKgXHALaq6EugjIufGu05VG4BQbeoPgRmh2tQiElqBmg9sEZEPgMXAOFXdkuS9+IrXyFMv2xTiLUOHrks0tjbdu4vKSopY/FE1O7dv5csXJlA95yEg96KijdzFy16kpwkWvP+28/5z4H4vnavqXFXtr6qHqeoDzrGJTuF7NMhYVT1KVQep6rQk7iEjRAvtB9hV19BCeXjZpuB1GVrxrjRKiwNcMaRP2pRMaDXr841b2DRrEo1fbaLLCZXN53MpKtrIXbwomMNU9SGgHkBVa0n/l2XOU1lexuQLB1EakdW+pra+hYXiZSrlpqyiEYqIjUUopuX+ykFxHbZeKCspYvKFgxhxVHe2v/Ige7/8mO7n3UXHg45ubpNrUdFGbuJFwewVkSKcxQYROQzw4oNpdVSWl1Hcfl+3VbiF4mUqFVJWZSVFCMEPdElR9HIcoaxvsZTMtt1fKzm3dqXFgRbjXTmkT9TSHY+OHsw748+gsryMH/3oR2xf+w96jRpD8eHfatEu16KijdzEyyrSPcA84CAReR44CbjaT6FyGTfHa+i41+C5yEBAtxy0oeui9RtOSMm5jR8etRui4uBuMZ3Rt912GxUVFfQ8YWTOR0UbuUlMBSPBwjUfEYzmHUJwanSbqm7OgGw5SaFI1FwqoXQHyW5TiHddaPf1C3/7zDWXy4aa2oTGd4t2Xrx4MaeddhoDBw5k4MCBLeQzjESIqWCcmtSzVfV44NUMyZTTuH24w48nu00h1nWzl1fx4rKqmImiImsLJcMjjzzC2LFjmTZtGqNHj06qD8MI4cUHs0RETvBdkjzBzccRzxGbKvGSdKfDL/Lss88yduxYLrroIi6++OKU+jIM8OaDOR24SUQ+JVhRQAgaN8f4KViukqlUEJE7omNVTUwkRYIbL7/8Mtdccw1nnnkmzz//PIWF3la5DCMWXhTMCN+lyCMykQoi0uEbS7mUFgdi1hbywubNm7n88ss57rjj+POf/0yHDh1S6s8wQsTKB9ORYMLvfsAq4CknOrfN43cqiERqFu3cEwz0S0We7t27M3PmTCoqKujcuXPS/RhGJLF8MH8AKggqlxHAwxmRyEgoSra+SZMO21+7di2vvhr03Q8fPpzu3bsn1Y9huBFrinSUqg4CEJGngL9nRqT8JpWcMaFrE43GTSZsf8OGDZx99tns2bOHtWvXWtoFwxdiKZjmib+qNohPhbpaE245Y5au38rij6pjKp1UakUnGra/bds2hg0bxubNm1m0aJEpF8M3YimYY0XkK+e1AEXO+9AqUhffpcsz3DY6hud+cUtUFcvvUlocQDW47yky+1yiK1i7d+/m3HPP5V//+hdz587lhBMsAsHwj1gpM22dMkHcpipeSpO4XSvA8olDm9+nmrbzj3/8I0uWLGHGjBmceeaZnq8zjGSwIvZpJJEkUZEKxWuFgVRXsG644QYqKio4/vjolRcNI514ieQ1POJWDjYakYoj2rXpCuBTVe69914+/PBDRMSUi5ExTMGkkWhpGK5wSYsQbXd15LWTLxyUlnib+++/n3vuuYdp03I2n5fRShGNsXkuF6moqNClS/Ormq0f5U688tvf/pabb76Zq6++mqlTp2KrgUY6EJFlqloRr535YDJAtorATZs2jVtuuYXzzjuPJ554wpSLkXF8nSKJyHARWSMia0VkfIx2F4uIikhcjWh4Q1V56qmnOOWUU5g2bRrt2tl3iZF5fPuv81Kb2mnXGbgV+JtfsrRFRIQ5c+ZQX19PUZHlzzWyg58WTHNtalXdC4RqU0dyH/AQsMdHWdoMq1ev5vzzz6empoaioiK6dLF4SCN7+KlgotWmbuGIEJFy4CBVfSVWRyJyg4gsFZGl1dXVsZq2aT799FOGDh3Ke++9R01NTfwLDMNn/FQwMWtTi0gB8AhwR7yOVPVxVa1Q1YoePbyUxW57bNy4kbPPPpvdu3ezYMEC+vbtm22RDMPXVaR4tak7A0cTrHsNcAAwR0TOU9X8WofOMtu3b2fEiBFs2LCB1157jaOPPjr+RYaRAfy0YJprU4tIe4K1qeeETqrqdlXtrqp9VbUvsAQw5ZIEmzdvZseOHbz44ot8+9vfjn+BYWQI3ywYJ8VDqDZ1ITA1VJsaWBoqH2skT2NjIwUFBRx22GGsXr2a9u3bZ1skw2iBr8ERqjoXmBtxbKJL29P8lKW1oapcd911dOjQgd/97nemXIycxPYi5SGqyrhx43jmmWfo1auXRegaOYspmDzkoYce4uGHH+aWW25h4sSoBqFh5ASmYPKMJ598kvHjx3PZZZfxy1/+0qwXI6cxBZNn9O7dm4suuohnnnmGggL78xm5jaVryBO2bt1Kt27dsi2GYQDe0zXYV2AesHTpUg499FBmzJiRbVEMIyFMweQ4H330ESNGjKC0tJSTTz452+IYRkKYgslhPvvsM4YOHUpBQQELFy6kd+/e2RbJMBLCshDlKDt37mTo0KFs376dN998k379+mVbJMNIGFMwOUqnTp34/ve/z5AhQxg8eHC2xTGMpDAFk2PU1dWxfv16+vfvz5133pltcQwjJcwHk0M0NjZy5ZVXMmTIEDZv3pxtcQwjZcyCyRFUlR/+8IfMmjWLhx9+mO7du2dbJMNIGbNgcoSf/exnPP7440yYMIGxY8dmWxzDSAtmweQAs2bN4oEHHuD666/ngQceaHEum0XbDCNVTMHkAKNGjeLRRx/llltuabF5cfbyKia8tIra+kYAqmpqmfDSKgBTMkZe0OanSLOXV3HSg4s4ZPyrnPTgImYvr8rY2IsXL2bLli106NCB2267jcLCljWsp8xf06xcQtTWNzJl/pqMyWgYqdCmFUzIQqiqqUX52kLIhJJ56623OOecc7j99ttd22yoqU3ouGHkGm1awWTLQlixYgWjRo3i4IMP5pFHHnFt17skekVGt+OGkWtktTa1iIwVkQ9E5H0ReV1EDvZTnkiyYSGsXbuW4cOH07VrVxYuXBhzOXrcsAEUBVpOm4oChYwbNsA3+QwjnfimYMJqU48AjgIuE5GjIpotBypU9RhgFsESshkjGxbCD37wAxoaGliwYAEHHXRQzLaV5WVMvnAQZSVFCFBWUsTkCweZg9fIG/xcRWquTQ0gIqHa1B+EGqjq4rD2S4ArfZRnH8YNG9BilQb8txCeffZZvvzyS4444ghP7SvLy0yhGHlLVmtTR3At8JdoJ/yqTZ0pC2HXrl1MnjyZhoYGevXqRXl5eVr7N4xcxU8LJmZt6hYNRa4EKoBTo51X1ceBxyGYMjNdAoL/FsLevXu5+OKLWbBgASeffDKnnHKKb2MZRq6RzdrUAIjIWcBPgVNVtc5HeTJOU1MTV199NfPmzePxxx835WK0ObJWmxpARMqB3xOsSb3JR1kyjqpy22238cILLzB58mSuv/76bItkGBnHNwWjqg1AqDb1h8CMUG1qETnPaTYF2A+YKSIrRKTV1Ktet24dTz/9NHfccQd33XVXtsUxjKxgZUt8ZO3atRx22GFWHM1odVjZkizxwgsv8Otf/xqAfv36mXIx2jSmYNLIvHnzuOqqq5g1axYNDQ3ZFscwso4pmDTx7rvvcuGFF3L00UczZ84c2rWzTBiGYQomDaxatYqRI0dSVlbGvHnz6Nq1a7ZFMoycwBRMGvjrX/9Kp06dWLhwIfvvv3+2xTGMnMFWkVJAVZuduF999RVdunTJskSGkRlsFclntm/fzmmnncYbb7wBYMrFMKJgCiYJamtrOe+883j33XfZs2dPtsUxjJzFljoSpKGhgdGjR/P222/z/PPPM3z48GyLZBg5iymYBGhqauK6667j5Zdf5je/+Q2XXXZZtkUyjJzGpkgJ0NTURGNjI5MmTeLmm2/OtjiGkfOYBeOR2tpaioqK+MMf/mDh/4bhEbNgPPDEE09w7LHH8sUXX1BQUGAKxjA8YgomDrNmzeKmm26iX79+VpDeMBLEFEwMXnvtNa644gqGDBnCrFmzCAQC2RbJMPIKUzAuLFu2jMrKSvr3788rr7xCcXFxtkUyjLzDFIwLffr0YcSIEcyfP5/S0tJsi2MYeYmtIkXw5Zdf0q1bN3r06MHMmTOzLY5h5DVmwYRRXV3NaaedxlVXXZVtUQyjVZDt2tQdRGS6c/5vItLXT3lisWPHDs455xzWr19vQXSGkSayXZv6WmCbqvYDHgF+4Zc8sairq6OyspLly5czc+ZMq19kGGnCTwumuTa1qu4FQrWpwzkf+IPzehZwpmQhiu2mm25i0aJFTJ06lXPPPTfTwxtGq8VPJ2+02tTfcmujqg0ish34BrA5vJGI3ADcAMHVnXRz6623MmTIEPO9GEaayXZtak/1q/2sTQ1QXl5uBekNwwf8nCJ5qU3d3EZE2gFdga0+ymQYRgbJam1q5/33nNcXA4s035IEG4bhim9TJMenEqpNXQhMDdWmBpaq6hzgKeCPIrKWoOVyqV/yGIaReXyN5FXVucDciGMTw17vAb7rpwyGYWQPi+Q1DMM3TMEYhuEbpmAMw/ANUzCGYfiGKRjDMHwj72pTi0g1sN6HrrsTsUUhw7T18XNBhrY+fiIyHKyqPeI1yjsF4xcistRLMW8bv/XK0NbH90MGmyIZhuEbpmAMw/ANUzBf87iNn3WyLUNbHx/SLIP5YAzD8A2zYAzD8A1TMIZh+EarVzCpVDYQkQnO8TUiMsxHGcaKyAci8r6IvC4iB4edaxSRFc5PZD6ddI1/tYhUh41zXdi574nIv52f70Vem6bxHwkb+18iUhN2Lh33P1VENonIP13Oi4j8ypHvfRE5LuxcOu4/3vhXOOO+LyLvisixYec+FZFVzv0vTWZ8jzKcJiLbw571xLBzMf9+MVHVVvtDMA/Nx8ChQHtgJXBURJsfAo85ry8Fpjuvj3LadwAOcfop9EmG04Fi5/UPQjI473dm4BlcDfwmyrXdgE+c36XO69J0jx/R/kcEcwel5f6dPr4DHAf80+X8OcBfCKZwHQL8LV3373H8E0P9EqzC8bewc58C3TPwDE4DXkn17xf509otmFQqG5wPTFPVOlVdB6x1+ku7DKq6WFV3O2+XEEwvmi68PAM3hgELVXWrqm4DFgLDfR7/MuCFBMeIiaq+RexUrOcDz2qQJUCJiPQiPfcfd3xVfdfpH9L/9/ckQwxS+f9p9QomWmWDMrc2qtoAhCobeLk2XTKEcy3Bb9MQHUVkqYgsEZFKH8e/yDHRZ4lIKJdyOp6B5z6cqeEhwKKww6nefyoyput/IBEi//4KLBCRZU51DT/5toisFJG/iMhA51hKz6C116ZOpbKBp4oHaZIh2FDkSqACODXscB9V3SAihwKLRGSVqn6c5vFfBl5Q1ToRuYmgRXdGIrKnOH6IS4FZqtoYdizV+09FxnT9D3gTQuR0ggrm5LDDJzn33xNYKCIfOdZIuvkHwf1FO0XkHGA2cDgpPoPWbsGkUtnAy7XpkgEROQv4KXCeqtaFjqvqBuf3J8AbQKL1VeKOr6pbwsZ8Ajg+EdlTHT+MS4mYHqXh/r3gJmO6/gfiIiLHAE8C56vqltDxsPvfBPyZ5KbpcVHVr1R1p/N6LhAQke6k+gxSdR7l8g9BC+0TgmZ3yEE1MKLNzbR08s5wXg+kpZP3E5Jz8nqRoZygI+3wiOOlQAfndXfg3yTgYEtg/F5hry8AljivuwHrHDlKndfd0j2+024AQYempPP+w/rqi7uDcyQtnbx/T9f9exy/D0Ef34kRxzsBncNevwsMT+HzEEuGA0LPnqAS+4/zPDz9/VzHTFbYfPkhuELwL+cD/FPn2L0ELQWAjsBM5w/8d+DQsGt/6ly3BhjhowyvARuBFc7PHOf4icAq54+6CrjWp/EnA6udcRYDR4Rde43zbNYC3/djfOf9JODBiOvSdf8vAF8A9QS/ka8FbgJucs4LwTrqHzvjVKT5/uON/ySwLezvv9Q5fqhz7yudv89PU/gfjCfDLWH/A0sIU3bR/n5ef2yrgGEYvtHafTCGYWQRUzCGYfiGKRjDMHzDFIxhGL5hCsYwDN8wBZNHiMg3wna7fikiVWHv22dRrrNEZHYK1xeIyGIR6RPj/goT7PM6J/o1JUSkQkSGhr2/WEQmpNpvW6G1bxVoVWgwwnMwgIhMIrjT+L/C2zgbNUVVmzIvYdKMIhj78R++vr/7gc2q+miSfV5HMJ5jU4qyVQD9gAXO+5eA5SLysAY3/xkxMAumFSAi/UTknyLyGME9JQdF5FS5VESedF7vLyIvORsI/y4iQ6L0t1REBoS9/18ROVZEhojIX0VkuYi8IyKHR7n2fhG5Pez9RyJyoPP6e86YK0TktyIS+v+7AvgfD/d5jXP9ShH5jQRpJyJ/cnKmrBKRm0XkCmAQMCua9SMiPxaRD53NnX9wjnUWkWdF5D3n/s4Rkc4Egy2vcvq5wFHc75LEruq2iCmY1sNRwFOqWg5UxWj3K+AhDda+uYRgFGkk051zOMrhG6q6EvgQONkZ4z7gfq/CicjRBLchnKiqgwlaz5c6p08iqBhjXX8scK5z/bFAMfBd4FsEw+kHqeog4HlVfZ5gRO7FqjpYwzZPOhbeHcAxqnoMcJtz6ucEI6hPAM4CfgnUAQ8QTOUwWFX/7LRdCpzi9d7bMjZFaj18rKrveWh3FjAg+DkDoFREilS1NqzNDII7rO8DRjvvAUqAZ0XksCTkOws4AVjqjF3E12kAOuvX+XDcOJvgHpnw6/9NcAPkQBF5FHiV4LYLV1RVRWQN8EcR+R++tpyGAmeJyN3O+w6452XZRHC3uREHUzCth11hr5touc2+Y9hrAb4Zy3+gqutFZKeIHEVQwVztnHoAmK+qvxWRfsC8KJc30NIyDo0tBDPV/SzKNV78RQI8oao/3+dE0LoZQdAyuYBglsJYnEUwJcYFwE9FZJDT/yhVbVGWOEwRh9MRqI12wmiJTZFaIY6fYJuIHO74OS4IO/0awR3kAIjIYJdupgMTCO5m/sA51pWvp19Xu1z3KU66BxH5Jl9v9X8NuMRJARBaEevjnFsrYbmQXVgIXCoi33Cu7y4iB4VWilR1BsENk6F8ujuAzpGdiEgA6K2qrxNUSL0JWkPzgVvD2pXH6Kc/EDW3rdESUzCtl7sIWhivE9w9G+Jm4CTHwfkBcL3L9TOBy/l6egTwC2CKiLwTY9yZwP4ispzgjt1PAFR1FUE/x2si8j7BVZn9nWteJZgT1hVVXQH8X4JJp9537q0HcDDwloisAH5H0CkLMBV4JoqTNwBMc/pYBtzvTM8mEkyVuUpEVgOhqdJrQEXIyescOw2YG0teI4jtpjayjuNIflJVc35lRoLpRB9X1RHZliUfMAvGyDqq+jlBa2O/bMvigQOBcdkWIl8wC8YwDN8wC8YwDN8wBWMYhm+YgjEMwzdMwRiG4RumYAzD8I3/D9iPKrDXbshVAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#观察测试集与训练集的预测值与真值的散点图\n",
    "plt.figure(figsize=(4, 4))\n",
    "plt.scatter(y_test, y_test_pred_lr)\n",
    "plt.plot([0, 1.5], [0, 1.5], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True value(Test set)')\n",
    "plt.ylabel('Predicted value')\n",
    "plt.tight_layout()\n",
    "\n",
    "plt.figure(figsize=(4, 4))\n",
    "plt.scatter(y_train, y_train_pred_lr)\n",
    "plt.plot([0, 1], [0, 1], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True value(Trainning set)')\n",
    "plt.ylabel('Predicted value')\n",
    "plt.tight_layout()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
